package com.wkq.net.interceptor;


import android.text.TextUtils;
import android.util.Log;

import com.wkq.net.Subscriber;
import com.wkq.net.util.SignUtil;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

import okhttp3.MediaType;
import okhttp3.Response;
import okhttp3.ResponseBody;


/**
 * 缓存拦截器
 */
public class WBInterceptor extends WBCacheInterceptor {

    @Override
    Response intercept(Response response, String url, String body) {

        JSONObject jsonObject = null;
        String data = null;
        if (response.isSuccessful()) {
            try {
//                    Object json = new JSONTokener(body).nextValue();
                JSONObject jsonData = new JSONObject();
                jsonData.put("result_message", "成功");
                jsonData.put("result_code", Subscriber.Config.default_success_code + "");
                jsonData.put("result", body);

                MediaType contentType = response.body().contentType();
                ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
                return response.newBuilder().body(responseBody).build();
//                    if (json instanceof JSONArray) {
//                        //数组
//
//                    } else {
////                    对象
//
//                    }

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }else {
            try {
                JSONObject jsonData = new JSONObject();
                jsonData.put("result_message", "服务器异常");
                jsonData.put("result_code", response.code() + "");
                jsonData.put("result", body);
                MediaType contentType = response.body().contentType();
                ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
                return response.newBuilder().body(responseBody).build();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

//
//            try {
//                jsonObject = new JSONObject(body);
//                if (!jsonObject.isNull("return_code") && !jsonObject.isNull("return_message")) {
//                    String code = (String) jsonObject.get("return_code");
//                    String message = (String) jsonObject.get("return_message");
//                    if (code.equals("0")) {
//                        JSONObject jsonData = new JSONObject();
//                        jsonData.put("return_message", "成功");
//                        jsonData.put("return_code", code);
//                        if (!jsonObject.isNull("total_page") && !jsonObject.isNull("total_count")) {
//                            int total_page = (int) jsonObject.get("total_page");
//                            int total_count = (int) jsonObject.get("total_count");
//                            jsonData.put("total_page", total_page);
//                            jsonData.put("total_count", total_count);
//                        }
//                        if (!jsonObject.isNull("result")) {
//                            jsonData.put("result", jsonObject);
//                            jsonData.put("result", jsonObject.get("result"));
//                        }
//                        MediaType contentType = response.body().contentType();
//                        ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
//                        return response.newBuilder().body(responseBody).build();
//
//                    } else {
//                        JSONObject jsonData = new JSONObject();
//                        jsonData.put("return_message", message);
//                        jsonData.put("return_code", code + "");
//                        MediaType contentType = response.body().contentType();
//                        ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
//                        return response.newBuilder().body(responseBody).build();
//
//                    }
//                } else {
//                    JSONObject jsonData = new JSONObject();
//                    jsonData.put("return_message", "服务器异常");
//                    jsonData.put("return_code", -1 + "");
//                    MediaType contentType = response.body().contentType();
//                    ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
//                    return response.newBuilder().body(responseBody).build();
//                }
//            } catch (Exception e) {
//                JSONObject jsonData = new JSONObject();
//                try {
//                    if (e != null) {
//                        jsonData.put("return_message", TextUtils.isEmpty(e.getMessage()) ? "" : e.getMessage());
//                    } else {
//                        jsonData.put("return_message", "格式转换异常");
//                    }
//                    jsonData.put("return_code", response.code() + "");
//                    MediaType contentType = response.body().contentType();
//                    ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
//                    return response.newBuilder().body(responseBody).build();
//                } catch (JSONException ex) {
//                    ex.printStackTrace();
//                }
//            }
//        } else {
//            try {
//                JSONObject jsonData = new JSONObject();
//                jsonData.put("return_message", "服务器异常");
//                jsonData.put("return_code", response.code() + "");
//                MediaType contentType = response.body().contentType();
//                ResponseBody responseBody = ResponseBody.create(contentType, jsonData.toString());
//                return response.newBuilder().body(responseBody).build();
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }


        return response;
    }
}
